//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    item:0,
    tab:0,
    playlist:[{
      id:1,title:'表态',singer:'梁博',
      src:'http://121.40.121.200/biaotai.mp3',coverImgUrl:'../images/banner.jpg'
    },{
        id: 2, title: 'A协奏曲', singer: '肖邦A',
        src: 'http://xxxx.mp3', coverImgUrl: '../images/banner.jpg'
    },{
        id: 3, title: 'B协奏曲', singer: '肖邦B',
        src: 'http://xxxx.mp3', coverImgUrl: '../images/banner.jpg'
    },{
        id: 4, title: 'C协奏曲', singer: '肖邦C',
        src: 'http://xxxx.mp3', coverImgUrl: '../images/banner.jpg'
    }],
    state:'paused',
    playIndex:0,
    play:{
      currentTime:'00:00',
      duration:'00:00',
      percent:0,
      title:'',
      singer:'',
      coverImgUrl:'../images/banner.jpg',
    },
  },
  changeItem:function(e){
    this.setData({
      item: e.target.dataset.item
    })
  },
  changeTab:function(e){
    this.setData({
      tab: e.detail.current
    })
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function () {
    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })
    } else if (this.data.canIUse){
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
        }
      })
    }
  },
  getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  },
  formsubmit: function (e) {
    console.log("携带数据" + e.detail.value)

    wx.request({
      url: 'http://121.40.121.200/check.php?',
      data:{
        item1: e.detail.user,
        item2: e.detail.password
      },
      success:(res)=>{
        if(res.data.ret.item3 =='true')
        {
            console.log('校验成功')
        }else{
          console.log('校验失败，账号或密码错误')
        }
      }
    })
 },
 audioCtx:null,
 onReady: function(){
   this.audioCtx = wx.createInnerAudioContext()
   var that = this
  //  失败检测
   this.audioCtx.onError(function(){
     wx.showToast({
       title: '播放失败: ' + that.audioCtx.src,
       icon: 'none',
       duration: 1500
     })
   })
  //  播放完成自动换下一曲
  this.audioCtx.onEnded(function(){
    that.next()
  })
  // 更新播放进度
  this.audioCtx.onPlay(function() {})
  this.audioCtx.onTimeUpdate(function(){
    that.setData({
     
      'play.duration':formatTime(that.audioCtx.duration),
      'play.currentTime':formatTime(that.audioCtx.currentTime),
      'play.percent':that.audioCtx.currentTime / that.audioCtx.duration *100
    })
  })
  this.setMusic(0)
  function formatTime(time){
    var minute = Math.floor(time/60) %60
    var second = Math.floor(time) % 60
    return (minute < 10 ? '0' + minute :minute) + ':' + 
        (second < 10 ? '0' + second : second)
  }
 },
 setMusic:function(index){
   var music = this.data.playlist[index]
   this.audioCtx.src = music.src
   this.setData({
     playIndex:index,
     'play.title':music.title,
     'play.singer': music.singer,
     'play.coverImgUrl': music.coverImgUrl,
     'play.currentTime': '00:00',
     'play.duration': '00:00',
     'play.percent':0
   })
 },
 play:function(){
   this.audioCtx.play()
   this.setData({state:'running'})
 },
 pause:function(){
   this.audioCtx.pause()
   this.setData({state:'paused'})
 },
 next:function(){
   var index = this.data.playIndex >=this.data.playlist.length -1 ? 0 :         this.data.playIndex + 1
   this.setMusic(index)
   if(this.data.state ==='running'){
     this.play()
   }
 },
 sliderChange:function(e){
   var second = e.detail.value * this.audioCtx.duration / 100
   this.audioCtx.seek(second)
   console.log('调用成功')
 }

})
